package com.topboya.linker.model.response;

import java.io.Serializable;
import java.util.List;

public class TencentLocationResponse extends BaseResponse implements Serializable {

    private String data;
    private Data dataBuffer;

    public String getData() {

        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public Data getDataBuffer() {

        return dataBuffer;
    }

    public void setDataBuffer(Data dataBuffer) {
        this.dataBuffer = dataBuffer;
    }

    public class Data  implements Serializable{

        private String status;

        private String message;

        private String request_id;

        private Result result;

        public void setStatus(String status) {
            this.status = status;
        }

        public String getStatus() {
            return this.status;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        public String getMessage() {
            return this.message;
        }

        public void setRequest_id(String request_id) {
            this.request_id = request_id;
        }

        public String getRequest_id() {
            return this.request_id;
        }

        public void setResult(Result result) {
            this.result = result;
        }

        public Result getResult() {
            return this.result;
        }

        @Override
        public String toString() {

            return "Data{" +
                    "status='" + status + '\'' +
                    ", message='" + message + '\'' +
                    ", request_id='" + request_id + '\'' +
                    ", result=" + result +
                    '}';
        }
    }

    public class Location implements Serializable {
        private String lat;

        private String lng;

        public void setLat(String lat) {
            this.lat = lat;
        }

        public String getLat() {
            return this.lat;
        }

        public void setLng(String lng) {
            this.lng = lng;
        }

        public String getLng() {
            return this.lng;
        }

        @Override
        public String toString() {
            return "Location{" +
                    "lat='" + lat + '\'' +
                    ", lng='" + lng + '\'' +
                    '}';
        }
    }


    public class Formatted_addresses implements Serializable{

        private String recommend;

        private String rough;

        public void setRecommend(String recommend) {
            this.recommend = recommend;
        }

        public String getRecommend() {
            return this.recommend;
        }

        public void setRough(String rough) {
            this.rough = rough;
        }

        public String getRough() {
            return this.rough;
        }

        @Override
        public String toString() {
            return "Formatted_addresses{" +
                    "recommend='" + recommend + '\'' +
                    ", rough='" + rough + '\'' +
                    '}';
        }
    }

    public class Address_component implements Serializable {

        private String nation;

        private String province;

        private String city;

        private String district;

        private String street;

        private String street_number;

        public void setNation(String nation) {
            this.nation = nation;
        }

        public String getNation() {
            return this.nation;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public String getProvince() {
            return this.province;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public String getCity() {
            return this.city;
        }

        public void setDistrict(String district) {
            this.district = district;
        }

        public String getDistrict() {
            return this.district;
        }

        public void setStreet(String street) {
            this.street = street;
        }

        public String getStreet() {
            return this.street;
        }

        public void setStreet_number(String street_number) {
            this.street_number = street_number;
        }

        public String getStreet_number() {
            return this.street_number;
        }

        @Override
        public String toString() {
            return "Address_component{" +
                    "nation='" + nation + '\'' +
                    ", province='" + province + '\'' +
                    ", city='" + city + '\'' +
                    ", district='" + district + '\'' +
                    ", street='" + street + '\'' +
                    ", street_number='" + street_number + '\'' +
                    '}';
        }
    }

    public class Ad_info  implements Serializable{

        private String nation_code;

        private String adcode;

        private String city_code;

        private String name;

        private Location location;

        private String nation;

        private String province;

        private String city;

        private String district;

        public void setNation_code(String nation_code) {
            this.nation_code = nation_code;
        }

        public String getNation_code() {
            return this.nation_code;
        }

        public void setAdcode(String adcode) {
            this.adcode = adcode;
        }

        public String getAdcode() {
            return this.adcode;
        }

        public void setCity_code(String city_code) {
            this.city_code = city_code;
        }

        public String getCity_code() {
            return this.city_code;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getName() {
            return this.name;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void setNation(String nation) {
            this.nation = nation;
        }

        public String getNation() {
            return this.nation;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public String getProvince() {
            return this.province;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public String getCity() {
            return this.city;
        }

        public void setDistrict(String district) {
            this.district = district;
        }

        public String getDistrict() {
            return this.district;
        }

        @Override
        public String toString() {
            return "Ad_info{" +
                    "nation_code='" + nation_code + '\'' +
                    ", adcode='" + adcode + '\'' +
                    ", city_code='" + city_code + '\'' +
                    ", name='" + name + '\'' +
                    ", location=" + location +
                    ", nation='" + nation + '\'' +
                    ", province='" + province + '\'' +
                    ", city='" + city + '\'' +
                    ", district='" + district + '\'' +
                    '}';
        }
    }

    public class Business_area implements Serializable {
        private String id;

        private String title;

        private Location location;

        private String _distance;

        private String _dir_desc;

        public void setId(String id) {
            this.id = id;
        }

        public String getId() {
            return this.id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getTitle() {
            return this.title;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_distance() {
            return this._distance;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        public String get_dir_desc() {
            return this._dir_desc;
        }

        @Override
        public String toString() {
            return "Business_area{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", location=" + location +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }


    public class Famous_area implements Serializable {
        private String id;

        private String title;

        private Location location;

        private String _distance;

        private String _dir_desc;

        public void setId(String id) {
            this.id = id;
        }

        public String getId() {
            return this.id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getTitle() {
            return this.title;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_distance() {
            return this._distance;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        public String get_dir_desc() {
            return this._dir_desc;
        }

        @Override
        public String toString() {
            return "Famous_area{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", location=" + location +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }

    public class Crossroad  implements Serializable{
        private String id;

        private String title;

        private Location location;

        private String _distance;

        private String _dir_desc;

        public void setId(String id) {
            this.id = id;
        }

        public String getId() {
            return this.id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getTitle() {
            return this.title;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_distance() {
            return this._distance;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        public String get_dir_desc() {
            return this._dir_desc;
        }

        @Override
        public String toString() {
            return "Crossroad{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", location=" + location +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }

    public class Town implements Serializable {
        private String id;

        private String title;

        private Location location;

        private String _distance;

        private String _dir_desc;

        public void setId(String id) {
            this.id = id;
        }

        public String getId() {
            return this.id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getTitle() {
            return this.title;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_distance() {
            return this._distance;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        public String get_dir_desc() {
            return this._dir_desc;
        }

        @Override
        public String toString() {
            return "Town{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", location=" + location +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }

    public class Street_number  implements Serializable{
        private String id;

        private String title;

        private Location location;

        private String _distance;

        private String _dir_desc;

        public void setId(String id) {
            this.id = id;
        }

        public String getId() {
            return this.id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getTitle() {
            return this.title;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_distance() {
            return this._distance;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        public String get_dir_desc() {
            return this._dir_desc;
        }

        @Override
        public String toString() {
            return "Street_number{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", location=" + location +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }


    public class Street  implements Serializable{
        private String id;

        private String title;

        private Location location;

        private String _distance;

        private String _dir_desc;

        public void setId(String id) {
            this.id = id;
        }

        public String getId() {
            return this.id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getTitle() {
            return this.title;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_distance() {
            return this._distance;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        public String get_dir_desc() {
            return this._dir_desc;
        }

        @Override
        public String toString() {
            return "Street{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", location=" + location +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }



    public class Landmark_l2  implements Serializable{
        private String id;

        private String title;

        private Location location;

        private String  _distance;

        private String _dir_desc;

        public void setId(String id) {
            this.id = id;
        }

        public String getId() {
            return this.id;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getTitle() {
            return this.title;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_distance() {
            return this._distance;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        public String get_dir_desc() {
            return this._dir_desc;
        }

        @Override
        public String toString() {
            return "Landmark_l2{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", location=" + location +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }

    public class Address_reference  implements Serializable{
        private Business_area business_area;

        private Famous_area famous_area;

        private Crossroad crossroad;

        private Town town;

        private Street_number street_number;

        private Street street;

        private Landmark_l2 landmark_l1;

        private Landmark_l2 landmark_l2;

        public void setBusiness_area(Business_area business_area) {
            this.business_area = business_area;
        }

        public Business_area getBusiness_area() {
            return this.business_area;
        }

        public void setFamous_area(Famous_area famous_area) {
            this.famous_area = famous_area;
        }

        public Famous_area getFamous_area() {
            return this.famous_area;
        }

        public void setCrossroad(Crossroad crossroad) {
            this.crossroad = crossroad;
        }

        public Crossroad getCrossroad() {
            return this.crossroad;
        }

        public void setTown(Town town) {
            this.town = town;
        }

        public Town getTown() {
            return this.town;
        }

        public void setStreet_number(Street_number street_number) {
            this.street_number = street_number;
        }

        public Street_number getStreet_number() {
            return this.street_number;
        }

        public void setStreet(Street street) {
            this.street = street;
        }

        public Street getStreet() {
            return this.street;
        }

        public void setLandmark_l2(Landmark_l2 landmark_l2) {
            this.landmark_l2 = landmark_l2;
        }

        public Landmark_l2 getLandmark_l2() {
            return this.landmark_l2;
        }

        public Landmark_l2 getLandmark_l1() {

            return landmark_l1;
        }

        public void setLandmark_l1(Landmark_l2 landmark_l1) {
            this.landmark_l1 = landmark_l1;
        }

        @Override
        public String toString() {
            return "Address_reference{" +
                    "business_area=" + business_area +
                    ", famous_area=" + famous_area +
                    ", crossroad=" + crossroad +
                    ", town=" + town +
                    ", street_number=" + street_number +
                    ", street=" + street +
                    ", landmark_l1=" + landmark_l1 +
                    ", landmark_l2=" + landmark_l2 +
                    '}';
        }
    }

    public class Result  implements Serializable{

        private Location location;

        private String address;

        private Formatted_addresses formatted_addresses;

        private Address_component address_component;

        private Ad_info ad_info;

        private Address_reference address_reference;

        private String poi_count;

        private List<PoisList> pois;

        public void setLocation(Location location) {
            this.location = location;
        }

        public Location getLocation() {
            return this.location;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getAddress() {
            return this.address;
        }

        public void setFormatted_addresses(Formatted_addresses formatted_addresses) {
            this.formatted_addresses = formatted_addresses;
        }

        public Formatted_addresses getFormatted_addresses() {
            return this.formatted_addresses;
        }

        public void setAddress_component(Address_component address_component) {
            this.address_component = address_component;
        }

        public Address_component getAddress_component() {
            return this.address_component;
        }

        public void setAd_info(Ad_info ad_info) {
            this.ad_info = ad_info;
        }

        public Ad_info getAd_info() {
            return this.ad_info;
        }

        public void setAddress_reference(Address_reference address_reference) {
            this.address_reference = address_reference;
        }

        public Address_reference getAddress_reference() {
            return this.address_reference;
        }

        public String getPoi_count() {
            return poi_count;
        }

        public void setPoi_count(String poi_count) {
            this.poi_count = poi_count;
        }

        public List<PoisList> getPois() {
            return pois;
        }

        public void setPois(List<PoisList> pois) {
            this.pois = pois;
        }

        @Override
        public String toString() {
            return "Result{" +
                    "location=" + location +
                    ", address='" + address + '\'' +
                    ", formatted_addresses=" + formatted_addresses +
                    ", address_component=" + address_component +
                    ", ad_info=" + ad_info +
                    ", address_reference=" + address_reference +
                    ", poi_count='" + poi_count + '\'' +
                    ", pois=" + pois +
                    '}';
        }
    }

    public class PoisList implements Serializable {

         private String id;
         private String title;
         private String address;
         private String category;
         private Location location;
         private Ad_info ad_info;
         private String _distance;
         private String _dir_desc;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getCategory() {
            return category;
        }

        public void setCategory(String category) {
            this.category = category;
        }

        public Location getLocation() {
            return location;
        }

        public void setLocation(Location location) {
            this.location = location;
        }

        public Ad_info getAd_info() {
            return ad_info;
        }

        public void setAd_info(Ad_info ad_info) {
            this.ad_info = ad_info;
        }

        public String get_distance() {
            return _distance;
        }

        public void set_distance(String _distance) {
            this._distance = _distance;
        }

        public String get_dir_desc() {
            return _dir_desc;
        }

        public void set_dir_desc(String _dir_desc) {
            this._dir_desc = _dir_desc;
        }

        @Override
        public String toString() {
            return "PoisList{" +
                    "id='" + id + '\'' +
                    ", title='" + title + '\'' +
                    ", address='" + address + '\'' +
                    ", category='" + category + '\'' +
                    ", location=" + location +
                    ", ad_info=" + ad_info +
                    ", _distance='" + _distance + '\'' +
                    ", _dir_desc='" + _dir_desc + '\'' +
                    '}';
        }
    }


    @Override
    public String toString() {

        return "TencentLocationResponse{" +
                "data='" + data + '\'' +
                ", dataBuffer=" + dataBuffer +
                '}';
    }


}
